import { DbDataType } from "@ctsy/model";
/**
  * 订单 Orders
  * 订单编号 OrderID 大数值自增(bigint)
  * 订单状态 Status 状态值(tinyint(1))
  * 创建时间 CTime 时间日期(datetime)
  * 创建人 CUID 大整数(bigint)
  * 订单金额 Money 金额(double(20,2))
  * 结算金额 Settle 金额(double(20,2))
  * 优惠金额 Discount 金额(double(20,2))
  * 订单号 No 字符250(char(250))
  * 商品总数 Amount 金额(double(20,2))
  * 订单来源 FromType 状态值(tinyint(1))
  * 是否推送仓库 IsPushStore 布尔(tinyint(1))
  * 是否推送单位 IsPushUnit 布尔(tinyint(1))
  * 是否推送统计 IsPushLog 布尔(tinyint(1))
  * 信息版本 V 大整数(bigint)
  * 入库类型 InType 序号(int(11))
  * 入库单位 InUnitID 大整数(bigint)
  * 入库仓库 InStoreID 大整数(bigint)
  * 出库类型 OutType 序号(int(11))
  * 出库单位 OutUnitID 大整数(bigint)
  * 出库仓库 OutStoreID 大整数(bigint)
  * 原始类型 OrderType 状态值(tinyint(1))
  * 创建仓库编号 CStoreID 大整数(bigint)
*/
export default {
    OrderID: {
        type: DbDataType.bigint,
        primaryKey: true,
        autoIncrement: true,
        defaultValue: 0,
        allowNull: false
    },
    Status: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    CTime: {
        type: DbDataType.datetime,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: () => new Date,
        allowNull: false
    },
    CUID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    Money: {
        type: DbDataType.double(20, 2),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    Settle: {
        type: DbDataType.double(20, 2),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    Discount: {
        type: DbDataType.double(20, 2),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    No: {
        type: DbDataType.char(250),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: "",
        allowNull: false
    },
    Amount: {
        type: DbDataType.double(20, 2),
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    FromType: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 1,
        allowNull: false
    },
    IsPushStore: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    IsPushUnit: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    IsPushLog: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    V: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    InType: {
        type: DbDataType.int,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    InUnitID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    InStoreID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    OutType: {
        type: DbDataType.int,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    OutUnitID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    OutStoreID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    OrderType: {
        type: DbDataType.tinyint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
    CStoreID: {
        type: DbDataType.bigint,
        primaryKey: false,
        autoIncrement: false,
        defaultValue: 0,
        allowNull: false
    },
}